#ifndef FACE_ALIGN_H
#define FACE_ALIGN_H

#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>
#include<mutex>





namespace facealign
{

    class  FaceAlign
    {

    public:

        FaceAlign();
        virtual ~FaceAlign();

    public:

        bool Align(const cv::Mat &input, const std::vector<cv::Point> &landmarks, cv::Mat &face);
        void Execute(const cv::Mat &input, const std::vector<cv::Point> &landmarks, cv::Mat &face);

    private:
    	std::vector<cv::Point2f> arcface_points_;
        std::mutex mutex_;
        int face_width_ = 112;
		int face_height_ = 112;

        
    };








}; //namespace facealign



#endif